package com.jyxd.web.hiscz.dto.checkout_report;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jyxd.web.hiscz.dto.CodingDto;
import com.jyxd.web.hiscz.dto.checkout_report.critical_obsInfo.CriticalObsInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@ApiModel("观察结果信息")
@Data
@NoArgsConstructor
public class ObservationResultDto {

    @JsonProperty(value = "ObservationIdentifier")
    @ApiModelProperty(name = "项目信息")
    private CodingDto observationIdentifier;

    @JsonProperty(value = "ObservationValue")
    @ApiModelProperty(name = "项目结果")
    private String observationValue;

    @JsonProperty(value = "Units")
    @ApiModelProperty(name = "项目单位")
    private CodingDto units;

    @JsonProperty(value = "ValueType")
    @ApiModelProperty(name = "结果类型")
    private String valueType;

    @JsonProperty(value = "ReferencesRangeHigh")
    @ApiModelProperty(name = "结果定量参考值(高)")
    private String referencesRangeHigh;

    @JsonProperty(value = "ReferencesRangeLow")
    @ApiModelProperty(name = "结果定量参考值(低)")
    private String referencesRangeLow;

    @JsonProperty(value = "ReferencesRangeQualitative")
    @ApiModelProperty(name = "结果定性参考值")
    private String referencesRangeQualitative;

    @JsonProperty(value = "DTOfTheObservation")
    @ApiModelProperty(name = "观察结果时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date dTOfTheObservation;

    @JsonProperty(value = "AbnormalFlags")
    @ApiModelProperty(name = "异常标志")
    private String abnormalFlags;

    @JsonProperty(value = "DisplaySeqNo")
    @ApiModelProperty(name = "显示顺序")
    private Integer displaySeqNo;

    @JsonProperty(value = "ObservationMethod")
    @ApiModelProperty(name = "检验方法")
    private CodingDto observationMethod;

    @JsonProperty(value = "CriticalObsInfo")
    @ApiModelProperty(name = "危急值详情信息")
    private CriticalObsInfo criticalObsInfo;

}
